import axios from "axios";
import store from "../store"
import { Message } from "element-ui";
const request = axios.create({
    baseURL: 'http://134.175.252.64:8080',
    // 134.175.252.64:8080/
    // timeout: 5000
})

request.interceptors.request.use((config) => {
    // 携带公共参数 token
    const token = localStorage.getItem('token') ? JSON.parse(localStorage.getItem('token')) : null
    // 如果用户登陆了 需要携带 token
    if (token) {
        config.headers.token = token
        // config.headers.Authorization = `Bearer ${token}`
    }
    return config
}, (error) => {
    return Promise.reject(error)
})

request.interceptors.response.use((response) => {
    // 根据后端返回的状态码判断是否为token过期
    if (response.data.code == 301) {
        // 执行登出操作

        store.commit('userStore/loginout')
        Message({
            type: 'error',
            message: response.data.msg
        })
    }

    return response.data
}, (error) => {
    // 处理http网络错误
    // if (error.response) {
    //     // 根据后端返回的状态码判断是否为token过期
    //     if (error.response.code === 301) {
    //         // 执行登出操作
    //         this.dispatch('userStore/loginout')
    //     }
    // }
    // switch (status) {
    //     case 404:
    //         ElMessage({
    //             type: 'error',
    //             message: '请求失败，路径发生错误！'
    //         })
    //         break;
    //     case 403:
    //         ElMessage({
    //             type: 'error',
    //             message: '无访问权限！'
    //         })
    //         break;
    //     case 401:
    //         ElMessage({
    //             type: 'error',
    //             message: '参数有误！'
    //         })
    //         break;
    //     case 500 | 501 | 502 | 503 | 504 | 505:
    //         ElMessage({
    //             type: 'error',
    //             message: '服务器挂了'
    //         })
    //         break;
    // }
    return Promise.reject(error)
})

export default request